package top.chmin.project.cloud.sys.table.info;
import java.util.List;
import top.chmin.project.cloud.common.BindColumn;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.PostMapping;
import lombok.experimental.Accessors;
import lombok.Setter;
import lombok.Getter;



/**
 * chmin
 * 2024-01-25 14:19:37
 * cloud-code
 */
public interface TableInfoSelectTableCodeOptionRest {

    @PostMapping("/cloud-code/tableInfo/auto/selectTableCodeOption")
    List<R> selectTableCodeOption(@RequestBody P p);

    @Getter
    @Setter
    @Accessors(chain = true)
    class P {
        /*###########auto#start###########*/
        // 类名
        private String className;
        // 属性名
        private String fieldName;
        // 方法名
        private String methodName;
        // model名称
        private String modelName;
        // 模块名
        private String moduleName;
        // 模块路径
        private String modulePath;
        // table前缀
        private String prefix;
        // 相对路径
        private String relatePath;
        // table编号
        private String tableCode;
        // table注释
        private String tableComment;
        // table名称
        private String tableName;
        /*###########auto##end############*/
        /* append $modelFieldAppender$ */
    }

    @Getter
    @Setter
    @Accessors(chain = true)
    class R {
        @BindColumn(TableInfoColumn.tableCode)
        private String value;
        @BindColumn(TableInfoColumn.tableName)
        private String label;
    }

}
